#!/bin/bash
#SBATCH --job-name=zyjob          # 作业名称
#SBATCH --nodes=128                  # 请求足够多的节点（按最大可能需要使用数目）
#SBATCH --partition=normal              # 分区名称
#SBATCH --ntasks-per-node=64    # 每节点有64个核，全部用满
#SBATCH --comment=GRAPES
#SBATCH --wckey=105-08

# openmpi的绑核方式
export MAPBY="--map-by ppr:30:socket --report-bindings" # 每个socket（CPU）有32个核，使用其中的30个，从而每节点内按CPU均匀布置30个进程
# intelmpi的绑核方式
# export MAPBY="-ppn 60 -genv I_MPI_PIN_DOMAIN=1 -genv I_MPI_PIN_ORDER=bunch" # 每个节点用60核，分散到2个CPU上，[0,30)在0号socket，[30, 60)在1号socket

# kvlcc2
export DATA_PATH="/g5/jinghao/zongyi/SStructMG-stable/data/kvlcc2/1000w"
mpirun -n   67 ${MAPBY} test_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P67   CG GMG config/mg.kvlcc2.json > log.kvlcc2.SStructMG.P67
mpirun -n  130 ${MAPBY} test_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P130  CG GMG config/mg.kvlcc2.json > log.kvlcc2.SStructMG.P130
mpirun -n  242 ${MAPBY} test_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P242  CG GMG config/mg.kvlcc2.json > log.kvlcc2.SStructMG.P242
mpirun -n  498 ${MAPBY} test_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P498  CG GMG config/mg.kvlcc2.json > log.kvlcc2.SStructMG.P498
mpirun -n  996 ${MAPBY} test_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P996  CG GMG config/mg.kvlcc2.json > log.kvlcc2.SStructMG.P996
mpirun -n 1992 ${MAPBY} test_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P1992 CG GMG config/mg.kvlcc2.json > log.kvlcc2.SStructMG.P1992

mpirun -n   67 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P67   CG AMG > log.kvlcc2.AMG.P67
mpirun -n  130 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P130  CG AMG > log.kvlcc2.AMG.P130
mpirun -n  242 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P242  CG AMG > log.kvlcc2.AMG.P242
mpirun -n  498 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P498  CG AMG > log.kvlcc2.AMG.P498
mpirun -n  996 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P996  CG AMG > log.kvlcc2.AMG.P996
mpirun -n 1992 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P1992 CG AMG > log.kvlcc2.AMG.P1992

mpirun -n   67 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P67   CG SSAMG-base > log.kvlcc2.SSAMG.P67
mpirun -n  130 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P130  CG SSAMG-base > log.kvlcc2.SSAMG.P130
mpirun -n  242 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P242  CG SSAMG-base > log.kvlcc2.SSAMG.P242
mpirun -n  498 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P498  CG SSAMG-base > log.kvlcc2.SSAMG.P498
mpirun -n  996 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P996  CG SSAMG-base > log.kvlcc2.SSAMG.P996
mpirun -n 1992 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P1992 CG SSAMG-base > log.kvlcc2.SSAMG.P1992

mpirun -n   67 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P67   CG Split-PFMG > log.kvlcc2.Split-PFMG.P67
mpirun -n  130 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P130  CG Split-PFMG > log.kvlcc2.Split-PFMG.P130
mpirun -n  242 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P242  CG Split-PFMG > log.kvlcc2.Split-PFMG.P242
mpirun -n  498 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P498  CG Split-PFMG > log.kvlcc2.Split-PFMG.P498
mpirun -n  996 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P996  CG Split-PFMG > log.kvlcc2.Split-PFMG.P996
mpirun -n 1992 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P1992 CG Split-PFMG > log.kvlcc2.Split-PFMG.P1992

mpirun -n   67 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P67   CG Split-SMG > log.kvlcc2.Split-SMG.P67
mpirun -n  130 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P130  CG Split-SMG > log.kvlcc2.Split-SMG.P130
mpirun -n  242 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P242  CG Split-SMG > log.kvlcc2.Split-SMG.P242
mpirun -n  498 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P498  CG Split-SMG > log.kvlcc2.Split-SMG.P498
mpirun -n  996 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P996  CG Split-SMG > log.kvlcc2.Split-SMG.P996
mpirun -n 1992 ${MAPBY} base_kvlcc2.exe ${DATA_PATH} ${DATA_PATH}/assign.kvlcc2.P1992 CG Split-SMG > log.kvlcc2.Split-SMG.P1992

# ocean
export DATA_PATH="/g5/jinghao/zongyi/SStructMG-stable/data/ocean/14580x1x11520"
mpirun -n  228 ${MAPBY} test_ocean.exe 14580 11520 540 960 ${DATA_PATH} GMRES GMG config/mg.ocean.json  > log.ocean.SStructMG.P228
mpirun -n  421 ${MAPBY} test_ocean.exe 14580 11520 540 480 ${DATA_PATH} GMRES GMG config/mg.ocean.json  > log.ocean.SStructMG.P421
mpirun -n  812 ${MAPBY} test_ocean.exe 14580 11520 270 480 ${DATA_PATH} GMRES GMG config/mg.ocean.json  > log.ocean.SStructMG.P812
mpirun -n 1199 ${MAPBY} test_ocean.exe 14580 11520 180 480 ${DATA_PATH} GMRES GMG config/mg.ocean.json  > log.ocean.SStructMG.P1199
mpirun -n 2397 ${MAPBY} test_ocean.exe 14580 11520 108 384 ${DATA_PATH} GMRES GMG config/mg.ocean.json  > log.ocean.SStructMG.P2397
mpirun -n 4536 ${MAPBY} test_ocean.exe 14580 11520 108 192 ${DATA_PATH} GMRES GMG config/mg.ocean.json  > log.ocean.SStructMG.P4536

mpirun -n  228 ${MAPBY} base_ocean.exe 14580 11520 540 960 ${DATA_PATH} GMRES AMG  > log.ocean.AMG.P228
mpirun -n  421 ${MAPBY} base_ocean.exe 14580 11520 540 480 ${DATA_PATH} GMRES AMG  > log.ocean.AMG.P421
mpirun -n  812 ${MAPBY} base_ocean.exe 14580 11520 270 480 ${DATA_PATH} GMRES AMG  > log.ocean.AMG.P812
mpirun -n 1199 ${MAPBY} base_ocean.exe 14580 11520 180 480 ${DATA_PATH} GMRES AMG  > log.ocean.AMG.P1199
mpirun -n 2397 ${MAPBY} base_ocean.exe 14580 11520 108 384 ${DATA_PATH} GMRES AMG  > log.ocean.AMG.P2397
mpirun -n 4536 ${MAPBY} base_ocean.exe 14580 11520 108 192 ${DATA_PATH} GMRES AMG  > log.ocean.AMG.P4536

mpirun -n  228 ${MAPBY} base_ocean.exe 14580 11520 540 960 ${DATA_PATH} GMRES PFMG  > log.ocean.PFMG.P228
mpirun -n  421 ${MAPBY} base_ocean.exe 14580 11520 540 480 ${DATA_PATH} GMRES PFMG  > log.ocean.PFMG.P421
mpirun -n  812 ${MAPBY} base_ocean.exe 14580 11520 270 480 ${DATA_PATH} GMRES PFMG  > log.ocean.PFMG.P812
mpirun -n 1199 ${MAPBY} base_ocean.exe 14580 11520 180 480 ${DATA_PATH} GMRES PFMG  > log.ocean.PFMG.P1199
mpirun -n 2397 ${MAPBY} base_ocean.exe 14580 11520 108 384 ${DATA_PATH} GMRES PFMG  > log.ocean.PFMG.P2397
mpirun -n 4536 ${MAPBY} base_ocean.exe 14580 11520 108 192 ${DATA_PATH} GMRES PFMG  > log.ocean.PFMG.P4536

mpirun -n  228 ${MAPBY} base_ocean.exe 14580 11520 540 960 ${DATA_PATH} GMRES SMG  > log.ocean.SMG.P228
mpirun -n  421 ${MAPBY} base_ocean.exe 14580 11520 540 480 ${DATA_PATH} GMRES SMG  > log.ocean.SMG.P421
mpirun -n  812 ${MAPBY} base_ocean.exe 14580 11520 270 480 ${DATA_PATH} GMRES SMG  > log.ocean.SMG.P812
mpirun -n 1199 ${MAPBY} base_ocean.exe 14580 11520 180 480 ${DATA_PATH} GMRES SMG  > log.ocean.SMG.P1199
mpirun -n 2397 ${MAPBY} base_ocean.exe 14580 11520 108 384 ${DATA_PATH} GMRES SMG  > log.ocean.SMG.P2397
mpirun -n 4536 ${MAPBY} base_ocean.exe 14580 11520 108 192 ${DATA_PATH} GMRES SMG  > log.ocean.SMG.P4536

# oil
export DATA_PATH="/g5/jinghao/zongyi/SStructMG-stable/data/oil"
mpirun -n   60 ${MAPBY} test_oil.exe 2  5  6 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P60
mpirun -n  120 ${MAPBY} test_oil.exe 2 10  6 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P120
mpirun -n  240 ${MAPBY} test_oil.exe 2 10 12 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P240
mpirun -n  480 ${MAPBY} test_oil.exe 4 10 12 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P480
mpirun -n  960 ${MAPBY} test_oil.exe 4 20 12 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P960
mpirun -n 1280 ${MAPBY} test_oil.exe 4 20 16 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P1280
mpirun -n 1920 ${MAPBY} test_oil.exe 4 20 24 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P1920
mpirun -n 3840 ${MAPBY} test_oil.exe 8 20 24 ${DATA_PATH} GMRES GMG config/mg.oil.json > log.oil.SStructMG.P3840

mpirun -n   60 ${MAPBY} base_oil.exe 2  5  6 ${DATA_PATH} GMRES AMG > log.oil.AMG.P60
mpirun -n  120 ${MAPBY} base_oil.exe 2 10  6 ${DATA_PATH} GMRES AMG > log.oil.AMG.P120
mpirun -n  240 ${MAPBY} base_oil.exe 2 10 12 ${DATA_PATH} GMRES AMG > log.oil.AMG.P240
mpirun -n  480 ${MAPBY} base_oil.exe 4 10 12 ${DATA_PATH} GMRES AMG > log.oil.AMG.P480
mpirun -n  960 ${MAPBY} base_oil.exe 4 20 12 ${DATA_PATH} GMRES AMG > log.oil.AMG.P960
mpirun -n 1280 ${MAPBY} base_oil.exe 4 20 16 ${DATA_PATH} GMRES AMG > log.oil.AMG.P1280
mpirun -n 1920 ${MAPBY} base_oil.exe 4 20 24 ${DATA_PATH} GMRES AMG > log.oil.AMG.P1920
mpirun -n 3840 ${MAPBY} base_oil.exe 8 20 24 ${DATA_PATH} GMRES AMG > log.oil.AMG.P3840

mpirun -n   65 ${MAPBY} base_oil.exe 2  5  6 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P60
mpirun -n  125 ${MAPBY} base_oil.exe 2 10  6 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P120
mpirun -n  245 ${MAPBY} base_oil.exe 2 10 12 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P240
mpirun -n  485 ${MAPBY} base_oil.exe 4 10 12 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P480
mpirun -n  965 ${MAPBY} base_oil.exe 4 20 12 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P960
mpirun -n 1285 ${MAPBY} base_oil.exe 4 20 16 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P1280
mpirun -n 1925 ${MAPBY} base_oil.exe 4 20 24 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P1920
mpirun -n 3845 ${MAPBY} base_oil.exe 8 20 24 ${DATA_PATH} GMRES SSAMG-base > log.oil.SSAMG.P3840

mpirun -n   60 ${MAPBY} base_oil.exe 2  5  6 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P60
mpirun -n  120 ${MAPBY} base_oil.exe 2 10  6 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P120
mpirun -n  240 ${MAPBY} base_oil.exe 2 10 12 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P240
mpirun -n  480 ${MAPBY} base_oil.exe 4 10 12 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P480
mpirun -n  960 ${MAPBY} base_oil.exe 4 20 12 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P960
mpirun -n 1280 ${MAPBY} base_oil.exe 4 20 16 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P1280
mpirun -n 1920 ${MAPBY} base_oil.exe 4 20 24 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P1920
mpirun -n 3840 ${MAPBY} base_oil.exe 8 20 24 ${DATA_PATH} GMRES Split-SMG > log.oil.Split-SMG.P3840

# gfs
export DATA_PATH="/g5/jinghao/zongyi/SStructMG-stable/data/gfs/1440x720x89"
mpirun -n   60 ${MAPBY} test_gfs.exe 720 1440 89   5  3 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P60
mpirun -n  120 ${MAPBY} test_gfs.exe 720 1440 89   5  6 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P120
mpirun -n  240 ${MAPBY} test_gfs.exe 720 1440 89  10  6 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P240
mpirun -n  480 ${MAPBY} test_gfs.exe 720 1440 89  12 10 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P480
mpirun -n  960 ${MAPBY} test_gfs.exe 720 1440 89  60  4 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P960
mpirun -n 1920 ${MAPBY} test_gfs.exe 720 1440 89  60  8 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P1920
mpirun -n 3840 ${MAPBY} test_gfs.exe 720 1440 89 120  8 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P3840
mpirun -n 7680 ${MAPBY} test_gfs.exe 720 1440 89 240  8 1 ${DATA_PATH} GMRES GMG config/mg.gfs.json > log.gfs.SStructMG.P7680

mpirun -n   60 ${MAPBY} base_gfs.exe 720 1440 89   5  3 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P60
mpirun -n  120 ${MAPBY} base_gfs.exe 720 1440 89   5  6 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P120
mpirun -n  240 ${MAPBY} base_gfs.exe 720 1440 89  10  6 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P240
mpirun -n  480 ${MAPBY} base_gfs.exe 720 1440 89  12 10 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P480
mpirun -n  960 ${MAPBY} base_gfs.exe 720 1440 89  60  4 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P960
mpirun -n 1920 ${MAPBY} base_gfs.exe 720 1440 89  60  8 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P1920
mpirun -n 3840 ${MAPBY} base_gfs.exe 720 1440 89 120  8 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P3840
mpirun -n 7680 ${MAPBY} base_gfs.exe 720 1440 89 240  8 1 ${DATA_PATH} GMRES AMG > log.gfs.AMG.P7680

mpirun -n   60 ${MAPBY} base_gfs.exe 720 1440 89   5  3 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P60
mpirun -n  120 ${MAPBY} base_gfs.exe 720 1440 89   5  6 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P120
mpirun -n  240 ${MAPBY} base_gfs.exe 720 1440 89  10  6 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P240
mpirun -n  480 ${MAPBY} base_gfs.exe 720 1440 89  12 10 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P480
mpirun -n  960 ${MAPBY} base_gfs.exe 720 1440 89  60  4 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P960
mpirun -n 1920 ${MAPBY} base_gfs.exe 720 1440 89  60  8 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P1920
mpirun -n 3840 ${MAPBY} base_gfs.exe 720 1440 89 120  8 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P3840
mpirun -n 7680 ${MAPBY} base_gfs.exe 720 1440 89 240  8 1 ${DATA_PATH} GMRES SSAMG-base > log.gfs.SSAMG.P7680

mpirun -n   60 ${MAPBY} base_gfs.exe 720 1440 89   5  3 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P60
mpirun -n  120 ${MAPBY} base_gfs.exe 720 1440 89   5  6 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P120
mpirun -n  240 ${MAPBY} base_gfs.exe 720 1440 89  10  6 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P240
mpirun -n  480 ${MAPBY} base_gfs.exe 720 1440 89  12 10 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P480
mpirun -n  960 ${MAPBY} base_gfs.exe 720 1440 89  60  4 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P960
mpirun -n 1920 ${MAPBY} base_gfs.exe 720 1440 89  60  8 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P1920
mpirun -n 3840 ${MAPBY} base_gfs.exe 720 1440 89 120  8 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P3840
mpirun -n 7680 ${MAPBY} base_gfs.exe 720 1440 89 240  8 1 ${DATA_PATH} GMRES Split-SMG > log.gfs.Split-SMG.P7680

# case3-strong
mpirun -n   81 ${MAPBY} test_case3.exe 120  3 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P81
mpirun -n  192 ${MAPBY} test_case3.exe  90  4 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P192
mpirun -n  375 ${MAPBY} test_case3.exe  72  5 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P375
mpirun -n  648 ${MAPBY} test_case3.exe  60  6 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P648
mpirun -n 1536 ${MAPBY} test_case3.exe  45  8 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P1536
mpirun -n 3000 ${MAPBY} test_case3.exe  36 10 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P3000
mpirun -n 5184 ${MAPBY} test_case3.exe  30 12 CG GMG config/mg.case3.360.json > log.case3.360.SStructMG.P5184

mpirun -n   81 ${MAPBY} base_case3.exe 120  3 CG AMG > log.case3.360.AMG.P81
mpirun -n  192 ${MAPBY} base_case3.exe  90  4 CG AMG > log.case3.360.AMG.P192
mpirun -n  375 ${MAPBY} base_case3.exe  72  5 CG AMG > log.case3.360.AMG.P375
mpirun -n  648 ${MAPBY} base_case3.exe  60  6 CG AMG > log.case3.360.AMG.P648
mpirun -n 1536 ${MAPBY} base_case3.exe  45  8 CG AMG > log.case3.360.AMG.P1536
mpirun -n 3000 ${MAPBY} base_case3.exe  36 10 CG AMG > log.case3.360.AMG.P3000
mpirun -n 5184 ${MAPBY} base_case3.exe  30 12 CG AMG > log.case3.360.AMG.P5184

mpirun -n   81 ${MAPBY} base_case3.exe 120  3 CG SSAMG-base > log.case3.360.SSAMG.P81
mpirun -n  192 ${MAPBY} base_case3.exe  90  4 CG SSAMG-base > log.case3.360.SSAMG.P192
mpirun -n  375 ${MAPBY} base_case3.exe  72  5 CG SSAMG-base > log.case3.360.SSAMG.P375
mpirun -n  648 ${MAPBY} base_case3.exe  60  6 CG SSAMG-base > log.case3.360.SSAMG.P648
mpirun -n 1536 ${MAPBY} base_case3.exe  45  8 CG SSAMG-base > log.case3.360.SSAMG.P1536
mpirun -n 3000 ${MAPBY} base_case3.exe  36 10 CG SSAMG-base > log.case3.360.SSAMG.P3000
mpirun -n 5184 ${MAPBY} base_case3.exe  30 12 CG SSAMG-base > log.case3.360.SSAMG.P5184

mpirun -n   81 ${MAPBY} base_case3.exe 120  3 CG Split-PFMG > log.case3.360.Split-PFMG.P81
mpirun -n  192 ${MAPBY} base_case3.exe  90  4 CG Split-PFMG > log.case3.360.Split-PFMG.P192
mpirun -n  375 ${MAPBY} base_case3.exe  72  5 CG Split-PFMG > log.case3.360.Split-PFMG.P375
mpirun -n  648 ${MAPBY} base_case3.exe  60  6 CG Split-PFMG > log.case3.360.Split-PFMG.P648
mpirun -n 1536 ${MAPBY} base_case3.exe  45  8 CG Split-PFMG > log.case3.360.Split-PFMG.P1536
mpirun -n 3000 ${MAPBY} base_case3.exe  36 10 CG Split-PFMG > log.case3.360.Split-PFMG.P3000
mpirun -n 5184 ${MAPBY} base_case3.exe  30 12 CG Split-PFMG > log.case3.360.Split-PFMG.P5184

#case3-weak
mpirun -n   81 ${MAPBY} test_case3.exe 64  3 CG GMG config/mg.case3.192.json > log.case3.192.SStructMG.P81
mpirun -n  192 ${MAPBY} test_case3.exe 64  4 CG GMG config/mg.case3.256.json > log.case3.256.SStructMG.P192
mpirun -n  375 ${MAPBY} test_case3.exe 64  5 CG GMG config/mg.case3.320.json > log.case3.320.SStructMG.P375
mpirun -n  648 ${MAPBY} test_case3.exe 64  6 CG GMG config/mg.case3.384.json > log.case3.384.SStructMG.P648
mpirun -n 1029 ${MAPBY} test_case3.exe 64  7 CG GMG config/mg.case3.448.json > log.case3.448.SStructMG.P1029
mpirun -n 1536 ${MAPBY} test_case3.exe 64  8 CG GMG config/mg.case3.512.json > log.case3.512.SStructMG.P1536
mpirun -n 2187 ${MAPBY} test_case3.exe 64  9 CG GMG config/mg.case3.576.json > log.case3.576.SStructMG.P2187
mpirun -n 3000 ${MAPBY} test_case3.exe 64 10 CG GMG config/mg.case3.640.json > log.case3.640.SStructMG.P3000
mpirun -n 3993 ${MAPBY} test_case3.exe 64 11 CG GMG config/mg.case3.704.json > log.case3.704.SStructMG.P3993
mpirun -n 5184 ${MAPBY} test_case3.exe 64 12 CG GMG config/mg.case3.768.json > log.case3.768.SStructMG.P5184
mpirun -n 6591 ${MAPBY} test_case3.exe 64 13 CG GMG config/mg.case3.832.json > log.case3.832.SStructMG.P6591

mpirun -n   81 ${MAPBY} base_case3.exe 64  3 CG AMG > log.case3.192.AMG.P81
mpirun -n  192 ${MAPBY} base_case3.exe 64  4 CG AMG > log.case3.256.AMG.P192
mpirun -n  375 ${MAPBY} base_case3.exe 64  5 CG AMG > log.case3.320.AMG.P375
mpirun -n  648 ${MAPBY} base_case3.exe 64  6 CG AMG > log.case3.384.AMG.P648
mpirun -n 1029 ${MAPBY} base_case3.exe 64  7 CG AMG > log.case3.448.AMG.P1029
mpirun -n 1536 ${MAPBY} base_case3.exe 64  8 CG AMG > log.case3.512.AMG.P1536
mpirun -n 2187 ${MAPBY} base_case3.exe 64  9 CG AMG > log.case3.576.AMG.P2187
mpirun -n 3000 ${MAPBY} base_case3.exe 64 10 CG AMG > log.case3.640.AMG.P3000
mpirun -n 3993 ${MAPBY} base_case3.exe 64 11 CG AMG > log.case3.704.AMG.P3993
mpirun -n 5184 ${MAPBY} base_case3.exe 64 12 CG AMG > log.case3.768.AMG.P5184
mpirun -n 6591 ${MAPBY} base_case3.exe 64 13 CG AMG > log.case3.832.AMG.P6591

mpirun -n   81 ${MAPBY} base_case3.exe 64  3 CG SSAMG-base > log.case3.192.SSAMG.P81
mpirun -n  192 ${MAPBY} base_case3.exe 64  4 CG SSAMG-base > log.case3.256.SSAMG.P192
mpirun -n  375 ${MAPBY} base_case3.exe 64  5 CG SSAMG-base > log.case3.320.SSAMG.P375
mpirun -n  648 ${MAPBY} base_case3.exe 64  6 CG SSAMG-base > log.case3.384.SSAMG.P648
mpirun -n 1029 ${MAPBY} base_case3.exe 64  7 CG SSAMG-base > log.case3.448.SSAMG.P1029
mpirun -n 1536 ${MAPBY} base_case3.exe 64  8 CG SSAMG-base > log.case3.512.SSAMG.P1536
mpirun -n 2187 ${MAPBY} base_case3.exe 64  9 CG SSAMG-base > log.case3.576.SSAMG.P2187
mpirun -n 3000 ${MAPBY} base_case3.exe 64 10 CG SSAMG-base > log.case3.640.SSAMG.P3000
mpirun -n 3993 ${MAPBY} base_case3.exe 64 11 CG SSAMG-base > log.case3.704.SSAMG.P3993
mpirun -n 5184 ${MAPBY} base_case3.exe 64 12 CG SSAMG-base > log.case3.768.SSAMG.P5184
mpirun -n 6591 ${MAPBY} base_case3.exe 64 13 CG SSAMG-base > log.case3.832.SSAMG.P6591

mpirun -n   81 ${MAPBY} base_case3.exe 64  3 CG Split-PFMG > log.case3.192.Split-PFMG.P81
mpirun -n  192 ${MAPBY} base_case3.exe 64  4 CG Split-PFMG > log.case3.256.Split-PFMG.P192
mpirun -n  375 ${MAPBY} base_case3.exe 64  5 CG Split-PFMG > log.case3.320.Split-PFMG.P375
mpirun -n  648 ${MAPBY} base_case3.exe 64  6 CG Split-PFMG > log.case3.384.Split-PFMG.P648
mpirun -n 1029 ${MAPBY} base_case3.exe 64  7 CG Split-PFMG > log.case3.448.Split-PFMG.P1029
mpirun -n 1536 ${MAPBY} base_case3.exe 64  8 CG Split-PFMG > log.case3.512.Split-PFMG.P1536
mpirun -n 2187 ${MAPBY} base_case3.exe 64  9 CG Split-PFMG > log.case3.576.Split-PFMG.P2187
mpirun -n 3000 ${MAPBY} base_case3.exe 64 10 CG Split-PFMG > log.case3.640.Split-PFMG.P3000
mpirun -n 3993 ${MAPBY} base_case3.exe 64 11 CG Split-PFMG > log.case3.704.Split-PFMG.P3993
mpirun -n 5184 ${MAPBY} base_case3.exe 64 12 CG Split-PFMG > log.case3.768.Split-PFMG.P5184
mpirun -n 6591 ${MAPBY} base_case3.exe 64 13 CG Split-PFMG > log.case3.832.Split-PFMG.P6591

# case4-strong
mpirun -n    54 ${MAPBY} test_case4.exe 128  3 CG GMG config/mg.case4.360.json > log.case4.384.SStructMG.P54
mpirun -n   128 ${MAPBY} test_case4.exe  96  4 CG GMG config/mg.case4.360.json > log.case4.384.SStructMG.P128
mpirun -n   432 ${MAPBY} test_case4.exe  64  6 CG GMG config/mg.case4.360.json > log.case4.384.SStructMG.P432
mpirun -n  1024 ${MAPBY} test_case4.exe  48  8 CG GMG config/mg.case4.360.json > log.case4.384.SStructMG.P1024
mpirun -n  3456 ${MAPBY} test_case4.exe  32 12 CG GMG config/mg.case4.360.json > log.case4.384.SStructMG.P3456

mpirun -n    54 ${MAPBY} base_case4.exe 128  3 CG AMG > log.case4.384.AMG.P54
mpirun -n   128 ${MAPBY} base_case4.exe  96  4 CG AMG > log.case4.384.AMG.P128
mpirun -n   432 ${MAPBY} base_case4.exe  64  6 CG AMG > log.case4.384.AMG.P432
mpirun -n  1024 ${MAPBY} base_case4.exe  48  8 CG AMG > log.case4.384.AMG.P1024
mpirun -n  3456 ${MAPBY} base_case4.exe  32 12 CG AMG > log.case4.384.AMG.P3456

mpirun -n    54 ${MAPBY} base_case4.exe 128  3 CG SSAMG-base > log.case4.384.SSAMG.P54
mpirun -n   128 ${MAPBY} base_case4.exe  96  4 CG SSAMG-base > log.case4.384.SSAMG.P128
mpirun -n   432 ${MAPBY} base_case4.exe  64  6 CG SSAMG-base > log.case4.384.SSAMG.P432
mpirun -n  1024 ${MAPBY} base_case4.exe  48  8 CG SSAMG-base > log.case4.384.SSAMG.P1024
mpirun -n  3456 ${MAPBY} base_case4.exe  32 12 CG SSAMG-base > log.case4.384.SSAMG.P3456

mpirun -n    54 ${MAPBY} base_case4.exe 128  3 CG Split-PFMG > log.case4.384.Split-PFMG.P54
mpirun -n   128 ${MAPBY} base_case4.exe  96  4 CG Split-PFMG > log.case4.384.Split-PFMG.P128
mpirun -n   432 ${MAPBY} base_case4.exe  64  6 CG Split-PFMG > log.case4.384.Split-PFMG.P432
mpirun -n  1024 ${MAPBY} base_case4.exe  48  8 CG Split-PFMG > log.case4.384.Split-PFMG.P1024
mpirun -n  3456 ${MAPBY} base_case4.exe  32 12 CG Split-PFMG > log.case4.384.Split-PFMG.P3456

#case4-weak
mpirun -n   54 ${MAPBY} test_case4.exe 64  3 CG GMG config/mg.case4.192.json > log.case4.192.SStructMG.P54
mpirun -n  128 ${MAPBY} test_case4.exe 64  4 CG GMG config/mg.case4.256.json > log.case4.256.SStructMG.P128
mpirun -n  250 ${MAPBY} test_case4.exe 64  5 CG GMG config/mg.case4.320.json > log.case4.320.SStructMG.P250
mpirun -n  432 ${MAPBY} test_case4.exe 64  6 CG GMG config/mg.case4.384.json > log.case4.384.SStructMG.P432
mpirun -n  686 ${MAPBY} test_case4.exe 64  7 CG GMG config/mg.case4.448.json > log.case4.448.SStructMG.P686
mpirun -n 1024 ${MAPBY} test_case4.exe 64  8 CG GMG config/mg.case4.512.json > log.case4.512.SStructMG.P1024
mpirun -n 1458 ${MAPBY} test_case4.exe 64  9 CG GMG config/mg.case4.576.json > log.case4.576.SStructMG.P1458
mpirun -n 2000 ${MAPBY} test_case4.exe 64 10 CG GMG config/mg.case4.640.json > log.case4.640.SStructMG.P2000
mpirun -n 2662 ${MAPBY} test_case4.exe 64 11 CG GMG config/mg.case4.704.json > log.case4.704.SStructMG.P2662
mpirun -n 3456 ${MAPBY} test_case4.exe 64 12 CG GMG config/mg.case4.768.json > log.case4.768.SStructMG.P3456
mpirun -n 4394 ${MAPBY} test_case4.exe 64 13 CG GMG config/mg.case4.832.json > log.case4.832.SStructMG.P4394
mpirun -n 5488 ${MAPBY} test_case4.exe 64 14 CG GMG config/mg.case4.896.json > log.case4.896.SStructMG.P5488

mpirun -n   54 ${MAPBY} base_case4.exe 64  3 CG AMG > log.case4.192.AMG.P54
mpirun -n  128 ${MAPBY} base_case4.exe 64  4 CG AMG > log.case4.256.AMG.P128
mpirun -n  250 ${MAPBY} base_case4.exe 64  5 CG AMG > log.case4.320.AMG.P250
mpirun -n  432 ${MAPBY} base_case4.exe 64  6 CG AMG > log.case4.384.AMG.P432
mpirun -n  686 ${MAPBY} base_case4.exe 64  7 CG AMG > log.case4.448.AMG.P686
mpirun -n 1024 ${MAPBY} base_case4.exe 64  8 CG AMG > log.case4.512.AMG.P1024
mpirun -n 1458 ${MAPBY} base_case4.exe 64  9 CG AMG > log.case4.576.AMG.P1458
mpirun -n 2000 ${MAPBY} base_case4.exe 64 10 CG AMG > log.case4.640.AMG.P2000
mpirun -n 2662 ${MAPBY} base_case4.exe 64 11 CG AMG > log.case4.704.AMG.P2662
mpirun -n 3456 ${MAPBY} base_case4.exe 64 12 CG AMG > log.case4.768.AMG.P3456
mpirun -n 4394 ${MAPBY} base_case4.exe 64 13 CG AMG > log.case4.832.AMG.P4394
mpirun -n 5488 ${MAPBY} base_case4.exe 64 14 CG AMG > log.case4.896.AMG.P5488

mpirun -n   54 ${MAPBY} base_case4.exe 64  3 CG SSAMG-base > log.case4.192.SSAMG.P54
mpirun -n  128 ${MAPBY} base_case4.exe 64  4 CG SSAMG-base > log.case4.256.SSAMG.P128
mpirun -n  250 ${MAPBY} base_case4.exe 64  5 CG SSAMG-base > log.case4.320.SSAMG.P250
mpirun -n  432 ${MAPBY} base_case4.exe 64  6 CG SSAMG-base > log.case4.384.SSAMG.P432
mpirun -n  686 ${MAPBY} base_case4.exe 64  7 CG SSAMG-base > log.case4.448.SSAMG.P686
mpirun -n 1024 ${MAPBY} base_case4.exe 64  8 CG SSAMG-base > log.case4.512.SSAMG.P1024
mpirun -n 1458 ${MAPBY} base_case4.exe 64  9 CG SSAMG-base > log.case4.576.SSAMG.P1458
mpirun -n 2000 ${MAPBY} base_case4.exe 64 10 CG SSAMG-base > log.case4.640.SSAMG.P2000
mpirun -n 2662 ${MAPBY} base_case4.exe 64 11 CG SSAMG-base > log.case4.704.SSAMG.P2662
mpirun -n 3456 ${MAPBY} base_case4.exe 64 12 CG SSAMG-base > log.case4.768.SSAMG.P3456
mpirun -n 4394 ${MAPBY} base_case4.exe 64 13 CG SSAMG-base > log.case4.832.SSAMG.P4394
mpirun -n 5488 ${MAPBY} base_case4.exe 64 14 CG SSAMG-base > log.case4.896.SSAMG.P5488

mpirun -n   54 ${MAPBY} base_case4.exe 64  3 CG Split-PFMG > log.case4.192.Split-PFMG.P54
mpirun -n  128 ${MAPBY} base_case4.exe 64  4 CG Split-PFMG > log.case4.256.Split-PFMG.P128
mpirun -n  250 ${MAPBY} base_case4.exe 64  5 CG Split-PFMG > log.case4.320.Split-PFMG.P250
mpirun -n  432 ${MAPBY} base_case4.exe 64  6 CG Split-PFMG > log.case4.384.Split-PFMG.P432
mpirun -n  686 ${MAPBY} base_case4.exe 64  7 CG Split-PFMG > log.case4.448.Split-PFMG.P686
mpirun -n 1024 ${MAPBY} base_case4.exe 64  8 CG Split-PFMG > log.case4.512.Split-PFMG.P1024
mpirun -n 1458 ${MAPBY} base_case4.exe 64  9 CG Split-PFMG > log.case4.576.Split-PFMG.P1458
mpirun -n 2000 ${MAPBY} base_case4.exe 64 10 CG Split-PFMG > log.case4.640.Split-PFMG.P2000
mpirun -n 2662 ${MAPBY} base_case4.exe 64 11 CG Split-PFMG > log.case4.704.Split-PFMG.P2662
mpirun -n 3456 ${MAPBY} base_case4.exe 64 12 CG Split-PFMG > log.case4.768.Split-PFMG.P3456
mpirun -n 4394 ${MAPBY} base_case4.exe 64 13 CG Split-PFMG > log.case4.832.Split-PFMG.P4394
mpirun -n 5488 ${MAPBY} base_case4.exe 64 14 CG Split-PFMG > log.case4.896.Split-PFMG.P5488





